package com.wgf.config;

import com.alibaba.cloud.ai.dashscope.api.DashScopeApi;
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.ai.chat.model.ChatModel;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class DashScopeConfig {


    //1.配置DashScope API客户端，设置认证密钥
    //2.创建聊天客户端，将其与具体的AI模型绑定

    //这是Spring的注解，用于从配置文件中读取属性值。这里读取的是配置文件中spring.ai.dashscope.api-key的值，并注入到下面的apiKey字段中
    @Value("${spring.ai.dashscope.api-key}")
    private String apiKey;

    @Bean
    public DashScopeApi dashScopeApi() {//使用DashScopeApi的构建器，设置秘钥apiKey（从配置中读取），然后构建并返回DashScopeApi实例
        return DashScopeApi.builder()
                .apiKey(apiKey)
                .build();
    }

    @Bean
    public ChatClient chatClient(ChatModel dashscopeChatModel) {//使用建造者模式创建ChatClient实例，并传入配置好的dashscopeChatModel，然后构建返回
        return ChatClient.builder(dashscopeChatModel).build();
    }
}